System and method for determining mobile data quality over a network

ABSTRACT

A computer-implemented system is disclosed for determining mobile data quality over a network. The system includes one or more processors configured to execute computer program steps, the computer program steps comprising: collecting data from a mobile device; and determining an optimal an available WIFI network or cellular network for data transmission.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. provisional application Ser.No. 61/786,029, filed Mar. 14, 2013, which is incorporated by referenceherein.

FIELD OF THE INVENTION

The present invention relates to a system and method for determiningmobile data quality over a network.

BACKGROUND OF THE INVENTION

The wireless industry measures mobile data quality in an attempt toimprove network quality and user experience. In practice today, currenttechnology for measuring network performance typically involves a simplespeed test wherein a test file is uploaded and downloaded for measuringthroughput. Unfortunately, this type of test is not very accurate.Further, it does not allow a user to control mobile data quality orallow a mobile network operator to have control over its own network.The reason for this is because the management and control over mobilenetworks is complex. WIFI which is added to a heterogeneous network(HetNet) structure today, creates a greater challenge in terms ofmanagement (if it is added to the mix). The main reason for this is thatWIFI is still a black box from the perspective of a mobile network(end). This makes WIFI difficult to manage. Suffice it to say,monitoring and management of both the mobile network and WIFI networktogether are difficult.

Therefore, it would be advantageous to provide a system and method thatovercomes the disadvantages with systems described above.

SUMMARY OF THE INVENTION

A system and method is disclosed for determining mobile data qualityover a network.

In accordance with an embodiment of the present invention, acomputer-implemented system is disclosed for determining mobile dataquality over a network. The system includes one or more processorsconfigured to execute computer program steps, the computer program stepscomprising collecting data from a mobile device; and determining anoptimal a available WIFI network or cellular network for datatransmission.

In accordance with another embodiment of the present invention, acomputer-implemented system is disclosed for determining mobile dataquality over a network. The system includes a server having a processorconfigured to execute computer program steps, the computer program stepscomprising receiving data collected from a mobile device and calculatingthe average speed of data transmitted over a network.

In accordance with yet another embodiment of the present invention, acomputer-implemented system for determining mobile data quality over anetwork, the system including a mobile device having a processorconfigured to execute computer program steps, the computer program stepscomprising collecting data from a mobile device and determining anoptimal an available WIFI network or cellular network for datatransmission.

In accordance with yet another embodiment of the present invention, acomputer-implemented system for determining mobile data quality over oneor more networks, the system including one or more processors configuredto execute computer program steps, the computer program steps comprisingcollecting data from a plurality of mobile devices communicating overone or more networks and determining a network having optimal dataquality for communication from a plurality of available networks.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a block diagram of a network incorporating a system fordetermining mobile data quality (over a network) according to anembodiment of the present invention.

FIG. 2 depicts a flowchart of the steps of the method implemented in amobile device of the system for determining mobile data quality shown inFIG. 1 in accordance with an embodiment of the present invention.

FIG. 3 depicts a flowchart of the steps of the method implemented in thecentral system of the system for determining mobile data quality shownin FIG. 1 in accordance with an embodiment of the present invention.

FIG. 4 depicts a flowchart of the method sub-steps of the collectingstep in FIG. 2.

FIGS. 5 and 6 are the same example of signal strength of local WIFInetworks for calculating SINR.

FIG. 7 depicts a graph of a sample practical implementation ofapplication speed to SINR.

FIG. 8 depicts sample codes sections for (1) the interferencecalculation and (2) SINR code for result presentation.

FIG. 9 depicts a personal self-organizing algorithm for a user's mobiledevice shown in FIG. 1.

FIG. 10 depicts the self-organizing algorithm for the central systemshown in FIG. 1.

FIG. 11 is a representation of a of a screen shot of the applicationdepicting a list of networks along with network information inaccordance with an embodiment of the present invention.

FIG. 12 is a representation of a screenshot of a video from Youtube thatdepicts a speed gauge that measures the speed in real time in accordancewith an embodiment of the present invention.

FIG. 13 is a representation of a screenshot on a mobile device depictinga map feature in accordance with an embodiment of the invention.

FIG. 14 is another representation of a screenshot on a mobile devicedepicting a “My Status” tab in accordance with the present invention.

FIG. 15 is another representation of a screenshot on a mobile devicedepicting an “apps” tab in accordance with the present invention.

FIG. 16 depicts a block diagram of a general purpose computer to supportthe embodiments of the systems and methods disclosed in thisapplication.

FIG. 17 depicts a block diagram of a mobile device to support theembodiments of the system and method disclosed in this application.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 depicts a block diagram of a network 10 incorporating a systemfor determining mobile data (communication) quality (over a network)according to an embodiment of the present invention. Network 10comprises carrier networks 50, 70 (i.e., mobile networks or cellularnetworks) and a plurality of mobile devices 20-24, mobile devices 26-36and content providers 44, 46. Mobile devices are also known as “cellphones.” Mobile devices 20-24 and 26-36 are adapted to wirelessly accessmobile content from content providers 42, 44 over the Internet 60 viacarrier networks 50, 70 as known by those skilled in the art. (Dataquality will be determined typically over several networks (WIFInetworks and mobile network) at any given time as discussed below.)Examples of carrier networks include Verizon, Sprint, AT&T and T-Mobile.(Carrier network is also referred to as a mobile network or cellularnetwork as known to those skilled in the art and these terms are usedinterchangeably in this disclosure.)

Network 10 further comprises central system 40. Central system 40 andmobile 20-24, 26-36 devices shown in FIG. 1 (via a carrier network andInternet 60) act together as or constitute part of the system fordetermining mobile data quality in accordance with an embodiment of thepresent invention. Central system 40 includes one or more servers asknown to those skilled in the art. At least one server is adaptedincluding an interface adapted to communicate with Internet 60 asdescribed below.

Mobile devices include cell phones, smart phones, PDAs, and otherdevices that allow a user to communicate through the carrier networks. Atypical mobile device has a processor, storage (ROM and RAM memory),interface and antenna to enable the device to communication with acarrier network, and other components as known to those skilled in theart. A user of a mobile device typically has over 20 applications storedon such device to access content over Internet 60. For example, a mobiledevice may include (1) social networking applications such as Facebook,Twitter and LinkedIn, (2) news applications such as Mercury News,Washington Post, CNN, and several news aggregators, (3) gameapplications, (4) video content distributors and aggregator applicationssuch as YouTube, (5) web browsers and (6) many, many more applications.Each of these applications may also enable a user to access video andother content that requires large volumes of data transmission.

Although two carrier networks are shown, any number of carrier networksmay be employed as known to those skilled in the art. Similarly, ninemobile devices are shown, but those skilled in the art know that anynumber of mobile devices may be employed. In the typically mobileenvironment, thousands of mobile devices are wirelessly coupled to acarrier network at any given time.

As known to those skilled in the art, central system 40 and contentproviders 42, 44 each include one or more computer servers andoptionally displays. Each server includes one or more processors,memory, network interfaces, hard drives, video cards and otherconventional components known to those skilled in the art. These serverstypically run Unix or Microsoft server as the operating system and theservers include TCP/IP protocol stack (to communicate) as known by thoseskilled in the art. A representative server is shown in FIG. 16. Thecontent providers also include a web server along with other servershosted by the content provider as known by those skilled in the art.

FIG. 2 depicts a flowchart of the steps of the method implemented in amobile device of the system for determining mobile data quality shown inFIG. 1 in accordance with the present invention. FIG. 3 depicts aflowchart of the steps of the method implemented in central system 40 ofthe system for determining mobile data quality shown in FIG. 1 inaccordance with the present invention. As indicated above, the mobiledevice (22-24, 26-36) and the central system 40 function together as thesystem for determining mobile data quality. Therefore, the steps in theflowcharts work together, i.e., represent a method for performing thedetermining mobile data quality. The method steps of these flowchartswill be discussed together when possible.

Referring to FIG. 2, execution of the method begins at step 100 whereindata is collected from a mobile device (at a mobile device 20-24,26-36). Data is collected as data is used (i.e., as data is carried).The data collected on a mobile device does not include any user personalinformation. The data relates to the parameters or characteristics of amobile device and its usage. In brief, these parameters include (a)mobile device information such as device type, model, operating systemtype and version, (b) operating information such as carrier name, mobilecountry code, (c) subscriber information, (d) geographic informationsuch as latitude and longitude, (e) LTE network information (ifapplicable), (f) UMTS or CDMA network information, (g) detected WIFInetwork information, and (h) mobile device active applicationinformation (list of active mobile device applications). More details onthe collected data are described below in Appendix A below.

It is noted that execution step 100 is functionally broken down insub-steps as shown in FIG. 4. In FIG. 4, execution of collecting step100 begins when the interval period for collecting data from a mobiledevice is set at sub-step 102. A user may set the interval period in theapplication on the mobile device. Five second intervals are preferredbut any interval period may be set for collection as described below. Atsub-step 104, data usage is scanned. In operation, scanning continuallyoccurs and preferably, at one second time periods. Repeated scanningdoes not consume mobile device battery life or CPU time. Next, when datatransmission is detected during the interval at sub-step 106, data isthen collected (i.e., sampling occurs) at the set intervals at sub-step108. With the exception of the mobile device type, operating system, alldata described in this application including data volume is repeatedlycollected every interval period. Data is detected when usage is shown toincrease. (That is, data is monitored during intervals. Data movementduring such intervals means begin collection. Data is collected onlyduring these intervals.)

Returning to the method in FIG. 2, execution moves to steps 110 whereinthe data collected is transmitted to central system 40. Alternatively,the collected data may be sent to cloud server 42 for central system 40to subsequently use.

Execution then moves to step 120 wherein the instantaneous speed overtwo consecutive interval periods is calculated. The calculation is basedon the following equation.

Instantaneous speed=(DataVolume2−DataVolume1)/Interval1 where, forexample, DataVolume1 and DataVolume2 are volumes of data at thebeginning and ending of interval 1. Interval1 is the first intervalperiod. The calculations are then stored on the mobile device (notshown) for later use. (E.g., storage duration is limited to the dataupload time which can be every 10 minutes to 1 hour.) The stored data isused for a real time personal self-organizing network (SON) and gamingas described below.

Execution then moves to step 130 wherein the interference of local WIFInetwork signals is calculated (i.e., measured and determined). WIFInetworks are also called access points (“AP”). In short, the calculationinvolves measuring the interference signals for all interference (atWIFI channel), convert the signals from dBm (decibel-milliWatts) into mW(milliWatts) to add the signals, sum all interference signals in mW,convert the sum back into dBm and then compare signals of transmissionwith accumulated interference signals and obtain the difference insignal strength. If the difference is positive (above a threshold), thenthe transmission is better than the interference. This difference iscalled the Signal Interference to Noise Ratio (SINR). This relationshipor equation is represented as follows (SINR):

SINR=Signal Level(at connected WIFI)−Signal Level of Total Interference.

As indicated, SINR, the difference between the carrier signal strengthand the total interference, shall optimally be at a level as high aspossible so that the speed is also high. High speed facilitates thedelivery of the video content. Note again that data is collected insmall intervals (in 1 to 5 seconds) and data is detected when there is atransmission of data. Data is collected from all mobile devices, as theSINR value will change from location to location or time to time. Eventhe mobile device brand will change the SINR. So the data collectedduring transmission, in different locations, at different times, fromdifferent devices is significant. At each measurement (every 1 to 5seconds), the frequency or channel number of the carrier and theinterfering WIFI signals (other APs with the same channel number) arecompared.

FIGS. 5 and 6 are the same example of signal strength of the local WIFInetworks for calculating SINR. In FIG. 5, a table is shown thatidentifies five columns: (1) list of networks detected, (2) Mac Addressof a WIFI network (AP), (3) security protocols for each network, (4) thesignal strength for each network signal in dBm, (5) frequency, (6) thechannel (at frequency). At #8 in the table, GoogleWIFI has a signalstrength of −72 dBm (as circled). If there are no interfering signals,the minimum background interference is assumed to be −110 dBm. Thus, theSINR equals −72−(110)=38.

When there are interfering signals, this is identified in FIG. 6. (Thetable in FIG. 6 has the same list of columns.) For this example, carrierchannel 11 is chosen. Therefore, other signals that broadcast on channel11 will interfere severely, if their signals are strong enough and ifthere is actual traffic on them. The total interference level firstneeds to be determined. The total cannot be determined by using thesignal strength values directly. In this case, network #2 (PP800129—circled) and #5 (ATT128—circled) are interfering signals. Both thesignal strength values are −89 dBm. This must be converted to mW. Theequation used for conversion is as follows:

P _((mW))=10^((signal strength in dBm/10)).

Where P=Power in mW.

Thus, in this case, Power_((mW))=(10^(−89/10))=1.26e⁻⁰⁹ mW. Since thereis two interfering signals, they are added; 1.26e⁻⁰⁹+1.26e⁻⁰⁹=2.52e⁻⁰⁹.Now, this value is the total interference in mW. Now, this is convertedback into dBm. The equation Log₁₀(P_(mW)) is used. That is,Log₁₀(2.52e⁻⁰⁹)=−85.99 dBm. So, the calculated value ofSINR=−72−(−85.99)=13.99. This is total interference level. The graph inFIG. 7 depicts a practical implementation of this level, incorporating874 measurements during video download of approximately 70 minutes. Thegraph indicates that the SINR affects speed in real time. This locationis Mountain View, Calif. Note that the higher SINR, the better thetransmission speed (kbps). (In practice, a threshold is used for SINR.When it is crossed, the speed level increases. This is an expectedbehavior. The important thing is that the SINR exceeds the interferencelevel. Other factors related to speed may affect its outcome, as long asthe interference exceeds the SINR level above. This is described belowin more detail.). The SINR (interference) values are then stored (butnot shown in FIG. 2).

FIG. 8 depicts sample Java codes sections for (1) the interferencecalculation (SINR calculation) and (2) SINR code result presentation(shown in lower part of figure). That is, the first section is thecalculation, containing the SINR calculation and algorithm. The secondsection is coding for how the result is presented in the mobileapplication in accordance with the present invention.

Returning to FIG. 2, execution moves to step 140 wherein the delay forall local WIFI networks (i.e., local to a mobile device) and localmobile (cellular) network are calculated. The delay is in the airspacebetween the mobile device and WIFI base stations. The delay could befrom a source or anywhere within the chain of data transmission. Amobile device will ping the base station to determine any delays. Thesevalues will also be stored (not shown in FIG. 2).

Execution then moves to step 150 wherein information from central system40 is received. At this point, reference is now made to the flowchart inFIG. 3 wherein the steps of the method implemented in central system 40of the system for determining mobile data quality are shown. At step200, central system 40 will receive the collected data from a mobiledevice (20-24, 26-36) from step 100 in FIG. 2. The collected data isstored in storage (memory) such as in a database within central system40 at step 210.

Execution moves to step 220 wherein the average speed of the datatransmission over a network is calculated. Any mobile application datadelivery quality is primarily measured by the speed, or in other words,throughput which is the speed of data obtained in short intervals, suchas a second or less. Data speed of a particular application over a givenservice period of time can be represented by maximum speed, minimumspeed or the average. The average speed is the unique number torepresent the entire experience during a data transmission of anapplication for a given time period. However, as the data is transmittedfor most applications during the specified time, the data transmissionwould not be continuous but in bursts instead.

Therefore, the calculation of average speed of the data takes intoconsideration the highest bursts, where more data is transmitted duringservice or usage. That is, the calculation is weighted in favor of thehigher data speeds. The low transmission volume or the lowest bursts,however, are not eliminated but contribute less to the numberrepresenting the service average. This is done using the equation below.

Average Speed=Σ((DataVolume/Time)*DataVolumeφ)/(ΣDataVolume).

In detail, speed₁=(V₂−V₁)/T₁; speed₂=V₃−V₂/T₂. The same goes for speed₃,speed_(i). The speed multiplied by the volume equals a value calledSpeedVolume. Datavolumeφ is the amount of data delivered in MB(Megabytes) or KB (Kilobytes). The summation of Speedvolumes ((i.e.,speed₁*TotalVolume₁)+(speed₂*TotalVolume₂)+(speed_(i.)*TotalVolume_(i)))divided by the summation of the volumes (V₂−V₁+V₃−V₂+ . . .V_(i)−V_(i-1)) equals the average speed. The average speeds of the datatransmission over a network are then stored at step 230.

Execution moves to step 240 wherein the interference of all WIFI signals(APs) are calculated (SINR). This calculation is similarly performedwith respect to step 130 in FIG. 2 described above. Therefore, detailswill not be discussed here.

Execution continues to move to step 250 wherein the loads for all mobiledevices in the area are calculated. There are essentially two ways tocalculate loads. (1) The first is when the mobile operator cooperatesand provides access to its WIFI network or cellular network (networktower information). In this case, all loads passing through can becalculated. In the second instance, however, when there is no access,there are two basic information types to be used. First informationtype: identify all of the users of central system 40 connected to thecellular or WIFI network and second information type: for a WIFInetwork, measure the maximum speed of the WIFI network. (2) The secondway to calculate load is to evaluate with interference informationthere, in order to understand if a possible low maximum speed is causedby interference and load. The two types of information will enableaccurate approximation for a load.

The interference and load information is stored within central system 40(not shown in FIG. 3). This information along with collected(accumulated) mobile device, WIFI and cellular information is thentransmitted to the mobile device at step 260.

Turning back to step 150 of the method shown in FIG. 2, all of thisinformation stored within central system 40 described above is receivedby the mobile device.

At step 160, optimal WIFI network or cellular network (e.g.,LTE/UMTS/CDMA/etc.) is determined. Step 160 is accomplished with thesub-steps shown in the flowchart of FIG. 9. The flowchart represents apersonal self organizing network (SON), i.e., a SON that is personal tomobile device user. It works in the mobile device, gives the deviceintelligence to select the best performing network and increases qualityand availability for the user.

The system begins with a list of network elements (equipment) channelfrequency list 162 (not a step but information to complete followingsub-steps). This is a list of the network elements that use certainchannels frequently. In this context, network elements mean WIFInetworks and/or cellular networks (i.e., mobile networks). At sub-step164, the SINR threshold is calculated. The threshold calculation is donewith a Knowledge Base Artificial Intelligence (AI) Algorithm as knownthose skilled in the art as the value is variable based on location,network and time. The network elements (WIFI or mobile network (i.e.,cellular network)) are removed or filtered out based on the SINRthreshold as sub-step 166. The SINR is calculated for each networkelement (mobile network or WIFI). The network elements having an SINRbelow the threshold are eliminated from the list. Then, the networkelements with the heaviest loads are eliminated from the list (filteredout) at sub-step 168. They cannot carry the extra traffic properly.Finally, the network element is selected that has the smallest delay atsub-step 169. The delays from the network elements latest list arecalculated. The network elements with the smallest delay times are thebest candidates suggested by the application (algorithm) in accordancewith the present invention.

Returning to FIG. 2, execution then proceeds to step 170 wherein theuser's mobile device will display the available networks and optimalnetworks. The information shall include signal strength (quality ofsignal) and other desired information such as channel number, SINR, andopen or secured network (examples). A representation of a (example)screen shot of the mobile device application depicting these networksare shown in FIG. 11 (WIFI Tab screen shot) in accordance with anembodiment of the present invention. In this FIG. 11, the quality ofWIFI radio signal is calculated for all WIFI signals available at aparticular spot. Colors and numbers are preferably used as the result ofthe SINR calculation but any indicia may be used to represent theresults of the SINR calculation as known by those skilled in the art.The higher the SINR, the better the channel quality, so the color tonemay be increased (e.g., it may show a darker green shade for this). Theuser can therefore choose the best quality channel. The same informationhere is used by central system 40 to clean up, i.e., remove theinterfered channels.

Returning to the flowchart in FIG. 3, reference is made to executionstep 270 that occurs concurrently with step 260. Step 270 isaccomplished with the sub-steps shown in the flowchart of FIG. 10. Theflowchart represents central system 40's self organizing network (SON),i.e., a SON that is executed on central system 40. The central system 40SON works on the server to improve the service quality and availabilityof a network element and to improve total service level for all usersconnected to it. The system begins with a list of network elements alongwith their frequency at 272 (not a step but information to completefollowing sub-steps). In this context, network elements include WIFI,LTE, UMTS or CDMA macro cell, or LTE, UMTS or CDMA small cell orfemtocell. At sub-step 274, the SINR threshold is calculated. The SNIRis calculated for the network element at its actual frequency (channel).At sub-step 276, the probable SINRs are calculated for each availablechannel as if the network element frequency is changed to that channel.At sub-step 278, the SINRs are compared to determine the channel thathas the highest SINR value. Finally, the channel is changed to thechannel with one of the highest SINRs if different than the actual oneused.

This completes the steps of the flowcharts in FIGS. 2 and 3.

FIG. 12 is a representation of a (example) screenshot of a video fromYoutube on the user's mobile device. The screenshot depicts a speedgauge that appears on the top corner in accordance with an embodiment ofthe present invention. The speed gauge measures the speed in real time.The gauge appears automatically when there is data transmission anddisappears when transmission has terminated. The gauge helps the mobiledevice user to understand problems in the delivery of content. The gaugeadvises on the network speed required to receive or transmit specifiedcontent with acceptable service quality.

FIG. 13 is a representation of a (example) screenshot on a mobile devicedepicting a map feature in accordance with an embodiment of theinvention. The feature enables a user to visualize and geolocate theperceived data quality and identify (pinpoint) the radio conditions orspeed.

FIG. 14 is another representation of a (example) screenshot on a mobiledevice depicting a “My Status” tab” in accordance with an embodiment ofthe present invention. The “My Status” tab is used for gaming on amobile device. The feature educates a user about requirements of thespeed per application and the speed capabilities of the WIFI vs. Mobilenetworks as well as the mobile device itself. The feature aids in theenjoyment. The user is capable of playing with Facebook, Twitter orsimilar social media friends and share his/her experience of mobiledevice quality.

FIG. 15 is another representation of a (example) screenshot on a mobiledevice depicting an “apps” tab. This feature is where the user is ableto view the quality and the usage level per each mobile application. Therequirement of data and speed usage changes significantly per eachapplication. High data means more resources used per content. High speedalso means more data per second, thus more resources consumed in thenetwork.

The actual application in accordance with the present invention can bedownloaded and installed. It aims to create a simple experience for theuser. Most of the data that is being collected are not presented in theGUI. In one embodiment of the present invention an interface willpresent an illustration of speed, separately in Mobile and WiFi. Twowidgets are placed on Home screen, to give the latest speed that isrecorded, or being recorded by the applications in average. Thecomparison between Mobile and WiFi is continuously monitored. The majordifference between a simple speed test and the speed information in thesystem and method (application) in accordance with an embodiment of thepresent invention is that the latter one shows the real data speedaverage experienced in all the active applications of a mobile device(e.g., smart phone). This is not a test, this is the real experience ofthe user.

The system and method (application) in accordance with the presentinvention is capable of measuring and storing the data speed perapplication, location and/or per time. As the measurements can be madefor all applications running simultaneously, the mobile device user canview how each application performs in the network separately. The mobiledevice user can also understand how the applications affect oneanother's performance. The user thus can decide how to prioritizebetween the active applications using the network, as well as be able tovisualize and control the background data consuming services. This inreturn will have positive effects over the user's perception of networkquality.

Local WIFI network and carrier network (cellular) information ismeasured and collected together for example so they can be reportedtogether. That is, it is possible to see the neighboring hotspots of theconnected WIFI and the neighboring base stations of the carrier networksimultaneously. The measurement and collection of both WIFI and carriernetworks enables the system to make comparisons among the networks. Thisprovides options to both a mobile user and a carrier network (operator).The comparison provides the mobile device user to switch networks orterminate the operation of an application that consumes large volumes ofdata (i.e., quantity). The comparison also provides the mobile (carrier)network (operator) to plan the effective offloading of the bestperformance/premium subscribers (users) between the carrier network anda WIFI network (and vice versa), simultaneously consideringintertechnology offloading conditions (e.g., Mobile to WiFi) as well asoffloading in between networks (e.g, CDMA to LTE or WIFI to WIFI). Thisinformation can directly be used on a mobile device side for offloadingas well as on the network side, for creating strategies for cellulartraffic offloading or for opening up some capacity on the base stations.The Base Station WiFi neighbor pattern, together with the capacity,quality and coverage conditions of both networks can be used in SelfOrganizing Network (SON) Algorithms, such as Load balancing (3GPP-LB),Cell Outage Compensation (3GPP-COC) and Energy Saving Management(3GPP-ESM). (3GPP means third generation partnership Project. ESM refersto saving the energy of a base station when there is no need for itsservice. The base station is deactivated when not necessary, andactivate it back if need be. COC (cell outage compensation) refers toautomatically increasing the coverage area of a cell when a neighboringcell becomes unexpectedly unavailable, so that the cell can take itsservice over. LB (Load balancing) is distributing the traffic loadevenly between several cells in the same technology (LTE-LTE) or indifferent technologies (LTE-WiFi), etc.) The mobile operator can usesuch information in mobile analytics tools, as to follow theirsubscribers quality even when they are out of their network or continuethe subscriber profiling even when in a WIFI network.

FIG. 16 depicts a block diagram of a general purpose computer to supportthe embodiments of the systems and methods disclosed in thisapplication. In a particular configuration, the general purpose computeris a computer server 400 that is configured to enable part or all of theexecution of the software application (method) steps in accordance withthe embodiments in this disclosure. The computer server 400 typicallyincludes at least one processor 402 and system memory 404 (volatile RAMor non-volatile ROM). The system memory 404 may include computerreadable media that is accessible to the processor 402 and may includeinstructions from processor 402, an operating system 406 and one or moreapplication 408 such as Java and a part of an application software 410in accordance with the present invention. Computer 400 will include oneor more communication connections such as network interfaces 412 toenable the computer to communication with other computers over anetwork, storage 416 such as a hard drives, video cards 414 and otherconventional components known to those skilled in the art. Computerserver 400 typically runs Unix or Microsoft as the operating system andinclude TCP/IP protocol stack (to communicate) for communication overthe Internet as known to those skilled in the art. Program Data 418 isalso stored within computer server 400. A display 420 is optionallyused.

FIG. 17 depicts a block diagram of a mobile device to support theembodiments of the systems and methods disclosed in this application. Ina particular configuration, mobile device 20 (as an example) isconfigured to enable part or all of the execution of the softwareapplication (method steps) in accordance with the embodiments in thispatent application. Mobile device 20 typically includes at least oneprocessor 502 and system memory 504 (volatile RAM or non-volatile ROM).Memory 504 may include computer readable media that is accessible to theprocessor 502 and may include instructions from processor 502, anoperating system 506 and one or more applications 508 such as a webbrowser and a part of the application software 510 in accordance withthe present invention. Mobile device 20 will also include one or morecommunication connections such as network interfaces 412 (including anantenna) to enable the mobile device 20 to communication wirelessly witha tower if a carrier network, video processing circuitry 514 and otherconventional components known to those skilled in the art. Mobile device20 may run Android, iOS or another operating systems known to thoseskilled in the art, and it will include TCP/IP protocol stack (tocommunicate) for communication over the Internet as known to thoseskilled in the art. Program Data 518 is also stored within mobile device20. A display 420 is incorporated within mobile device 20 used. This isan example block diagram of a mobile device 20, but other mobile devicesmay have the same, less or more components than that described as knownby those skilled in the art.

It is to be understood that the disclosure teaches examples of theillustrative embodiments and that many variations of the invention caneasily be devised by those skilled in the art after reading this entiredisclosure and that the scope of the present invention is to bedetermined by the claims below.

APPENDIX A

Data Collected from Mobile Device

a. Mobile Device (User Equipment Device (“UE”)) Information

# Parameter Description 1 Device Type UE Type 2 Device Model UE Model 3OS Name OS name (IOS, Android) 4 OS Version Mobile operating systemversion 5 TAC Number The Type Allocation Code (TAC) is the initialeight- digit portion of the 15-digit IMEI code

b. Operator Information

# Parameter Description 1 Carrier Subscriber registered operator name 2MCC Mobile Country Code 3 MNC Mobile Network Code 4 Network Type Servingnetwork type (LTE, UMTS)

c. Subscriber Information

# Parameter Description 1 IMSI International Mobile Subscriber NumberIdentity

d. Geographical Location Information

# Parameter Description 1 Latitude GPS latitude information 2 LongitudeGPS longitude information

e. Serving LTE Network Information

# Parameter Description 1 Serving LTE Cell ID Serving LTE network EUtranCell ID 2 IP LTE network IP address 3 RSRP Reference Signal ReceivedPower 4 RSRQ Reference Signal Received Quality 5 RSSI Receive StrengthSignal Indicator 6 SNR Signal to Noise Ratio 7 CQI Channel QualityIndicator 8 Throughput Average LTE network DL throughput 9 LTE NeighborCell list A list of detected LTE neighbor cells 10 UMTS Neighbor Cell Alist of detected UMTS neighbor cells list

f. Serving CDMA Network Information

# Parameter Description 1 Serving CDMA Cell ID Serving CDMA network CellID 2 IP CDMA network IP address 3 EVDO RSSI EVDO Receive Strength SignalIndicator 4 CDMA RSSI CDMA Receive Strength Signal Indicator 5 EVDO EcloEVDO, The ratio of received pilot energy, to total received energy 6CDMA Eclo CDMA,The ratio of received pilot energy, to total receivedenergy 7 EVDO SNR EVDO Signal to Noise Ratio 8 Throughput Average EVDOnetwork throughput 9 CDMA Neighbor Cell A list of detected CDMA neighborcells list 10 LTE Neighbor Cell list A list of detected LTE neighborcells

g. Detected WIFI Network Information

# Parameter Description 1 SSID Service set identification 2 BSS ID Basicservice set identification 3 IP IP address of detected WiFi point 4 WiFisupported 802.11a, 802.11b, 802.11g, 802.11n protocols 5 BandwidthBandwidth 6 Signal level WiFi point signal level

h. Mobile Device (UE) Active Application Information

Mobile device application should collect a list of active applications.

# Parameter Description 1 Application Active application name 2 Mobiledata usage Amount of DL data through mobile network 3 Mobile throughputMobile network DL throughput 3 WiFi data usage Amount of DL data throughWiFi network 4 WiFi throughput WiFi network DL throughput 5 Roaming datausage Amount of data transferred during roaming 6 Roaming throughputAverage application throughput during roaming

What is claimed is:
 1. A system for determining mobile data quality overa network, the system comprising: at least one memory for storingcomputer-executable instructions; and at least processor incommunication with the at least one memory, wherein the processor isconfigured to execute the computer-executable instructions to: collectdata from a mobile device; and determine an optimal WIFI or cellularnetwork available to the mobile device for data transmission.
 2. Thesystem of claim 1 wherein the at least one processor is furtherconfigured to execute the computer-executable instructions to: calculateinstantaneous speed of data transmitted by the mobile device over anetwork.
 3. The system of claim 1 wherein the at least one processor isfurther configured to execute the computer-executable instructions to:calculate interference (SINR) values for WIFI networks available to themobile device.
 4. The system of claim 3 wherein the at least oneprocessor is further configured to execute the computer-executableinstructions to: calculate a delay for each of the WIFI and/or cellularnetworks available to the mobile device.
 5. The system of claim 4wherein determining the optimal WIFI or cellular network comprises:calculating an interference (SINR) threshold value; removing a networkavailable to the mobile device that has an interference (SINR) valuethat falls below the threshold value.
 6. The system of claim 5 whereindetermining the optimal WIFI or cellular network further comprises:removing a network that is available to the mobile device that is unableto carry data required by the mobile device; and
 7. The system of claim5 wherein determining optimal network further comprises: selectingnetworks with smallest delay.
 8. The system of claim 2 whereininstantaneous speed is calculated using the following formula:Instantaneous speed=(DataVolume2−DataVolume1)/Interval1 whereby,DataVolume1 and DataVolume2 are volumes of data at the beginning andending of an interval.
 9. The system of claim 3 wherein the interference(SINR) is calculated using the following formula: SINR=Signal Level (atconnected WIFI)−Signal Level of Total Interference.
 10. The system ofclaim 1 wherein the cellular network is LTE, UMTS, CDMA, or GMTS. 11.The system of claim 1 wherein the at least one processor is furtherconfigured to execute the computer-executable instructions to: receivedata from a central server collected from a plurality of mobile devices.12. The system of claim 1 wherein the at least one processor is furtherconfigured to execute the computer-executable instructions to: transmitthe collected data to a central server.
 13. A system for determiningmobile data quality over a network, the system comprising: at least onememory for storing computer-executable instructions; and at least oneprocessor in communication with the at least one memory, wherein theprocessor is configured to execute the computer-executable instructionsto: receive data collected from a mobile device; and calculate theaverage speed of data transmitted over a network.
 14. The system ofclaim 13 wherein the at least one processor is further configured toexecute the computer-executable instructions to: calculate interference(SINR) of a plurality of WIFI signals.
 15. The system of claim 14wherein the at least one processor is further configured to execute thecomputer-executable instructions to: calculate a plurality of loadsassociated with a plurality of mobile devices in an area.
 16. The systemof claim 15 wherein the at least one processor is further configured toexecute the computer-executable instructions to: transmit data to themobile device, the data including interference and/or load dataassociated with a plurality of mobile devices.
 17. The system of claim13 wherein the average speed of data is calculated using the followingformula: Average Speed=Σ((DataVolume/Time)*DataVolumeφ))/(Σ DataVolume).18. The system of claim 14 wherein the interference (SINR) is calculatedusing the following formula: SINR=Signal Level (at connectedWIFI)−Signal Level of Total Interference.
 19. The system of claim 2wherein the instantaneous speed is calculated for one or moreapplications.
 20. A method for determining mobile data quality over anetwork, the method comprising: receiving, by one or more servers, datacollected from a mobile device; and calculating, by the one or moreservers, the average speed of data transmitted over a network.
 21. Themethod of claim 20 further comprising calculating, by the one or moreservers, interference (SINR) of a plurality of WIFI network.
 22. Themethod of claim 20 further comprising calculating a plurality of loadsassociated with a plurality of mobile devices.
 23. The method of claim20 wherein the average data speed is calculated for one or moreapplications.
 24. The method of claim 20 wherein the average speed ofdata is calculated using the following formula: AverageSpeed=Σ((DataVolume/Time)*DataVolumeφ))/(Σ DataVolume).
 25. The methodof claim 21 wherein the interference (SINR) is calculated using thefollowing formula: SINR=Signal Level (at connected WIFI)−signal Level ofTotal Interference.
 26. A method for determining mobile data qualityover a network, the method comprising: receiving, by one or moreservers, data collected from a mobile device; and calculating, by theone or more servers, interference (SINR) of a plurality of WIFI networkavailable to the mobile device.
 27. The method of claim 26 furthercomprising calculating, by the one or more servers, the average speed ofdata transmitted over a network.
 28. The method of claim 27 furthercomprising executing, by the one or more servers, a self organizingnetwork.